using dnAnalytics.Math;
using NUnit.Framework;

namespace dnAnalytics.Tests.Math
{
    [TestFixture]
    public class ComplexMath_Sqrt32Test
    {
        [Test]
        public void Sqrt()
        {
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(0.0f, 1.19209289550780998537e-7f)), new Complex32(2.44140624999999742502e-4f, 2.44140624999999742502e-4f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(0.0f, -1.19209289550780998537e-7f)), new Complex32(2.44140624999999742502e-4f, -2.44140624999999742502e-4f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(0.0f, 5.0e-1f)), new Complex32(5.0e-1f, 5.0e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(0.0f, -5.0e-1f)), new Complex32(5.0e-1f, -5.0e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(0.0f, 1.0f)), new Complex32(7.07106781186547524401e-1f, 7.07106781186547524401e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(0.0f, -1.0f)), new Complex32(7.07106781186547524401e-1f, -7.07106781186547524401e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(0.0f, 2.0f)), new Complex32(1.0f, 1.0f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(0.0f, -2.0f)), new Complex32(1.0f, -1.0f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(0.0f, 8.388608e6f)), new Complex32(2.048e3f, 2.048e3f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(0.0f, -8.388608e6f)), new Complex32(2.048e3f, -2.048e3f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(1.19209289550780998537e-7f, 0.0f)), new Complex32(3.45266983001243544242e-4f, 0.0f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-1.19209289550780998537e-7f, 0.0f)), new Complex32(0.0f, 3.45266983001243544242e-4f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(1.19209289550780998537e-7f, 1.19209289550780998537e-7f)), new Complex32(3.79339349128426676895e-4f, 1.57127503150776842268e-4f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(1.19209289550780998537e-7f, -1.19209289550780998537e-7f)), new Complex32(3.79339349128426676895e-4f, -1.57127503150776842268e-4f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-1.19209289550780998537e-7f, 1.19209289550780998537e-7f)), new Complex32(1.57127503150776842268e-4f, 3.79339349128426676895e-4f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-1.19209289550780998537e-7f, -1.19209289550780998537e-7f)), new Complex32(1.57127503150776842268e-4f, -3.79339349128426676895e-4f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(1.19209289550780998537e-7f, 5.0e-1f)), new Complex32(5.00000059604648328104e-1f, 4.99999940395358777324e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(1.19209289550780998537e-7f, -5.0e-1f)), new Complex32(5.00000059604648328104e-1f, -4.99999940395358777324e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-1.19209289550780998537e-7f, 5.0e-1f)), new Complex32(4.99999940395358777324e-1f, 5.00000059604648328104e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-1.19209289550780998537e-7f, -5.0e-1f)), new Complex32(4.99999940395358777324e-1f, -5.00000059604648328104e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(1.19209289550780998537e-7f, 1.0f)), new Complex32(7.07106823333397291369e-1f, 7.07106739039700269581e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(1.19209289550780998537e-7f, -1.0f)), new Complex32(7.07106823333397291369e-1f, -7.07106739039700269581e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-1.19209289550780998537e-7f, 1.0f)), new Complex32(7.07106739039700269581e-1f, 7.07106823333397291369e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-1.19209289550780998537e-7f, -1.0f)), new Complex32(7.07106739039700269581e-1f, -7.07106823333397291369e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(1.19209289550780998537e-7f, 2.0f)), new Complex32(1.00000002980232283178f, 9.99999970197678056394e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(1.19209289550780998537e-7f, -2.0f)), new Complex32(1.00000002980232283178f, -9.99999970197678056394e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-1.19209289550780998537e-7f, 2.0f)), new Complex32(9.99999970197678056394e-1f, 1.00000002980232283178f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-1.19209289550780998537e-7f, -2.0f)), new Complex32(9.99999970197678056394e-1f, -1.00000002980232283178f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(1.19209289550780998537e-7f, 8.388608e6f)), new Complex32(2.04800000000001455192e3f, 2.04799999999998544808e3f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(1.19209289550780998537e-7f, -8.388608e6f)), new Complex32(2.04800000000001455192e3f, -2.04799999999998544808e3f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-1.19209289550780998537e-7f, 8.388608e6f)), new Complex32(2.04799999999998544808e3f, 2.04800000000001455192e3f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-1.19209289550780998537e-7f, -8.388608e6f)), new Complex32(2.04799999999998544808e3f, -2.04800000000001455192e3f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(5.0e-1f, 0.0f)), new Complex32(7.07106781186547524401e-1f, 0.0f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-5.0e-1f, 0.0f)), new Complex32(0.0f, 7.07106781186547524401e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(5.0e-1f, 1.19209289550780998537e-7f)), new Complex32(7.07106781186552548697e-1f, 8.42936970217872868201e-8f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(5.0e-1f, -1.19209289550780998537e-7f)), new Complex32(7.07106781186552548697e-1f, -8.42936970217872868201e-8f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-5.0e-1f, 1.19209289550780998537e-7f)), new Complex32(8.42936970217872868201e-8f, 7.07106781186552548697e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-5.0e-1f, -1.19209289550780998537e-7f)), new Complex32(8.42936970217872868201e-8f, -7.07106781186552548697e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(5.0e-1f, 5.0e-1f)), new Complex32(7.76886987015018653672e-1f, 3.21797126452791312368e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(5.0e-1f, -5.0e-1f)), new Complex32(7.76886987015018653672e-1f, -3.21797126452791312368e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-5.0e-1f, 5.0e-1f)), new Complex32(3.21797126452791312368e-1f, 7.76886987015018653672e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-5.0e-1f, -5.0e-1f)), new Complex32(3.21797126452791312368e-1f, -7.76886987015018653672e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(5.0e-1f, 1.0f)), new Complex32(8.99453719973933636131e-1f, 5.55892970251421171992e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(5.0e-1f, -1.0f)), new Complex32(8.99453719973933636131e-1f, -5.55892970251421171992e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-5.0e-1f, 1.0f)), new Complex32(5.55892970251421171992e-1f, 8.99453719973933636131e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-5.0e-1f, -1.0f)), new Complex32(5.55892970251421171992e-1f, -8.99453719973933636131e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(5.0e-1f, 2.0f)), new Complex32(1.1317139242778694103f, 8.83615530875513265758e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(5.0e-1f, -2.0f)), new Complex32(1.1317139242778694103f, -8.83615530875513265758e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-5.0e-1f, 2.0f)), new Complex32(8.83615530875513265758e-1f, 1.1317139242778694103f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-5.0e-1f, -2.0f)), new Complex32(8.83615530875513265758e-1f, -1.1317139242778694103f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(5.0e-1f, 8.388608e6f)), new Complex32(2.04800006103515715949e3f, 2.04799993896484465949e3f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(5.0e-1f, -8.388608e6f)), new Complex32(2.04800006103515715949e3f, -2.04799993896484465949e3f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-5.0e-1f, 8.388608e6f)), new Complex32(2.04799993896484465949e3f, 2.04800006103515715949e3f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-5.0e-1f, -8.388608e6f)), new Complex32(2.04799993896484465949e3f, -2.04800006103515715949e3f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(1.0f, 0.0f)), new Complex32(1.0f, 0.0f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-1.0f, 0.0f)), new Complex32(0.0f, 1.0f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(1.0f, 1.19209289550780998537e-7f)), new Complex32(1.00000000000000177636f, 5.96046447753903933894e-8f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(1.0f, -1.19209289550780998537e-7f)), new Complex32(1.00000000000000177636f, -5.96046447753903933894e-8f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-1.0f, 1.19209289550780998537e-7f)), new Complex32(5.96046447753903933894e-8f, 1.00000000000000177636f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-1.0f, -1.19209289550780998537e-7f)), new Complex32(5.96046447753903933894e-8f, -1.00000000000000177636f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(1.0f, 5.0e-1f)), new Complex32(1.02908551363574612516f, 2.42934135878322839091e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(1.0f, -5.0e-1f)), new Complex32(1.02908551363574612516f, -2.42934135878322839091e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-1.0f, 5.0e-1f)), new Complex32(2.42934135878322839091e-1f, 1.02908551363574612516f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-1.0f, -5.0e-1f)), new Complex32(2.42934135878322839091e-1f, -1.02908551363574612516f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(1.0f, 1.0f)), new Complex32(1.09868411346780996604f, 4.55089860562227341304e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(1.0f, -1.0f)), new Complex32(1.09868411346780996604f, -4.55089860562227341304e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-1.0f, 1.0f)), new Complex32(4.55089860562227341304e-1f, 1.09868411346780996604f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-1.0f, -1.0f)), new Complex32(4.55089860562227341304e-1f, -1.09868411346780996604f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(1.0f, 2.0f)), new Complex32(1.27201964951406896425f, 7.8615137775742328607e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(1.0f, -2.0f)), new Complex32(1.27201964951406896425f, -7.8615137775742328607e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-1.0f, 2.0f)), new Complex32(7.8615137775742328607e-1f, 1.27201964951406896425f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-1.0f, -2.0f)), new Complex32(7.8615137775742328607e-1f, -1.27201964951406896425f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(1.0f, 8.388608e6f)), new Complex32(2.04800012207031613798e3f, 2.04799987792969113798e3f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(1.0f, -8.388608e6f)), new Complex32(2.04800012207031613798e3f, -2.04799987792969113798e3f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-1.0f, 8.388608e6f)), new Complex32(2.04799987792969113798e3f, 2.04800012207031613798e3f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-1.0f, -8.388608e6f)), new Complex32(2.04799987792969113798e3f, -2.04800012207031613798e3f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(2.0f, 0.0f)), new Complex32(1.4142135623730950488f, 0.0f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-2.0f, 0.0f)), new Complex32(0.0f, 1.4142135623730950488f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(2.0f, 1.19209289550780998537e-7f)), new Complex32(1.41421356237309567684f, 4.21468485108939241644e-8f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(2.0f, -1.19209289550780998537e-7f)), new Complex32(1.41421356237309567684f, -4.21468485108939241644e-8f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-2.0f, 1.19209289550780998537e-7f)), new Complex32(4.21468485108939241644e-8f, 1.41421356237309567684f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-2.0f, -1.19209289550780998537e-7f)), new Complex32(4.21468485108939241644e-8f, -1.41421356237309567684f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(2.0f, 5.0e-1f)), new Complex32(1.42505312406394700604f, 1.75432056376293832279e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(2.0f, -5.0e-1f)), new Complex32(1.42505312406394700604f, -1.75432056376293832279e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-2.0f, 5.0e-1f)), new Complex32(1.75432056376293832279e-1f, 1.42505312406394700604f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-2.0f, -5.0e-1f)), new Complex32(1.75432056376293832279e-1f, -1.42505312406394700604f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(2.0f, 1.0f)), new Complex32(1.45534669022535480812f, 3.43560749722512464139e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(2.0f, -1.0f)), new Complex32(1.45534669022535480812f, -3.43560749722512464139e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-2.0f, 1.0f)), new Complex32(3.43560749722512464139e-1f, 1.45534669022535480812f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-2.0f, -1.0f)), new Complex32(3.43560749722512464139e-1f, -1.45534669022535480812f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(2.0f, 2.0f)), new Complex32(1.55377397403003730734f, 6.43594252905582624735e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(2.0f, -2.0f)), new Complex32(1.55377397403003730734f, -6.43594252905582624735e-1f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-2.0f, 2.0f)), new Complex32(6.43594252905582624735e-1f, 1.55377397403003730734f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-2.0f, -2.0f)), new Complex32(6.43594252905582624735e-1f, -1.55377397403003730734f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(2.0f, 8.388608e6f)), new Complex32(2.04800024414063955191e3f, 2.04799975585938955192e3f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(2.0f, -8.388608e6f)), new Complex32(2.04800024414063955191e3f, -2.04799975585938955192e3f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-2.0f, 8.388608e6f)), new Complex32(2.04799975585938955192e3f, 2.04800024414063955191e3f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-2.0f, -8.388608e6f)), new Complex32(2.04799975585938955192e3f, -2.04800024414063955191e3f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(8.388608e6f, 0.0f)), new Complex32(2.89630937574009865995e3f, 0.0f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-8.388608e6f, 0.0f)), new Complex32(0.0f, 2.89630937574009865995e3f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(8.388608e6f, 1.19209289550780998537e-7f)), new Complex32(2.89630937574009865995e3f, 2.05795158744599330476e-11f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(8.388608e6f, -1.19209289550780998537e-7f)), new Complex32(2.89630937574009865995e3f, -2.05795158744599330476e-11f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-8.388608e6f, 1.19209289550780998537e-7f)), new Complex32(2.05795158744599330476e-11f, 2.89630937574009865995e3f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-8.388608e6f, -1.19209289550780998537e-7f)), new Complex32(2.05795158744599330476e-11f, -2.89630937574009865995e3f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(8.388608e6f, 5.0e-1f)), new Complex32(2.89630937574009994617e3f, 8.63167457503109387674e-5f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(8.388608e6f, -5.0e-1f)), new Complex32(2.89630937574009994617e3f, -8.63167457503109387674e-5f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-8.388608e6f, 5.0e-1f)), new Complex32(8.63167457503109387674e-5f, 2.89630937574009994617e3f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-8.388608e6f, -5.0e-1f)), new Complex32(8.63167457503109387674e-5f, -2.89630937574009994617e3f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(8.388608e6f, 1.0f)), new Complex32(2.89630937574010380482e3f, 1.72633491500621647541e-4f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(8.388608e6f, -1.0f)), new Complex32(2.89630937574010380482e3f, -1.72633491500621647541e-4f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-8.388608e6f, 1.0f)), new Complex32(1.72633491500621647541e-4f, 2.89630937574010380482e3f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-8.388608e6f, -1.0f)), new Complex32(1.72633491500621647541e-4f, -2.89630937574010380482e3f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(8.388608e6f, 2.0f)), new Complex32(2.89630937574011923946e3f, 3.45266983001241455129e-4f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(8.388608e6f, -2.0f)), new Complex32(2.89630937574011923946e3f, -3.45266983001241455129e-4f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-8.388608e6f, 2.0f)), new Complex32(3.45266983001241455129e-4f, 2.89630937574011923946e3f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-8.388608e6f, -2.0f)), new Complex32(3.45266983001241455129e-4f, -2.89630937574011923946e3f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(8.388608e6f, 8.388608e6f)), new Complex32(3.18212909881351640544e3f, 1.31808102995063321546e3f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(8.388608e6f, -8.388608e6f)), new Complex32(3.18212909881351640544e3f, -1.31808102995063321546e3f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-8.388608e6f, 8.388608e6f)), new Complex32(1.31808102995063321546e3f, 3.18212909881351640544e3f), 6);
            TestHelper.TestSignificantDigits(ComplexMath.Sqrt(new Complex32(-8.388608e6f, -8.388608e6f)), new Complex32(1.31808102995063321546e3f, -3.18212909881351640544e3f), 6);
        }
    }
}